Object inspection device, object inspection system and method for adjusting inspection position

ABSTRACT

An object inspection device capable of sharing an image or an inspection parameter for surface inspection of an object to be inspected among a plurality of object inspection devices. The object inspection device includes a camera, a robot relatively positioning the object and the camera, an index, and a controller controlling the camera and the robot. The controller is configured to control the robot to position the index and the camera at any relative position, cause the camera to image the index to acquire imaged data of the index, hold the robot at a position where the index is disposed at an index reference point in the image coordinate system based on the imaged data and coordinate data of the index reference point, and adjust an inspection position using the position of the robot at this time.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a new U.S. Patent Application that claims benefit ofJapanese Patent Application No. 2018-133501, dated Jul. 13, 2018, thedisclosure of this application is being incorporated herein by referencein its entirety for all purposes.

BACKGROUND OF THE INVENTION 1. Field of the Invention

The invention relates to an object inspection device, an objectinspection system, and a method for adjusting an inspection position.

2. Description of the Related Art

There has been known an object inspection device that inspects a surfaceof an object by using image data of the object (e.g., JP 2017-015396 A).Sharing an imaged image or inspection parameter used for a surfaceinspection on an object to be inspected among a plurality of objectinspection devices has been requested.

SUMMARY OF THE INVENTION

In an aspect of the present disclosure, an object inspection device forinspecting a surface of an object using image data of the object,includes a camera configured to acquire the image data; a robotconfigured to relatively position the object and the camera at aninspection position where the surface is to be inspected; an indexconfigured to be positioned with respect to the camera by the robot andimaged by the camera, the index being configured for representing aposition of the index with respect to the camera in an image coordinatesystem of the camera; and a controller configured to control the cameraand the robot.

The controller is configured to control the robot so as to position theindex and the camera at a relative position; cause the camera to imagethe index positioned at the relative position to acquire imaged data ofthe index in the image coordinate system; based on the imaged data andcoordinate data of an index reference point set in the image coordinatesystem, hold the robot at a position where the index is disposed at theindex reference point in the image coordinate system; and adjust theinspection position using the position of the robot when the index isdisposed at the index reference point.

In another aspect of the present disclosure, an object inspection systemcomprises a plurality of object inspection devices configured to inspecta surface of an object using image data of the object, wherein the firstobject inspection device includes a first camera configured to acquirethe image data; a first robot configured to relatively position theobject and the first camera at a first inspection position where thesurface is to be inspected; a first index configured to be positionedwith respect to the first camera by the first robot and imaged by thefirst camera, the first index being configured for representing aposition of the first index with respect to the first camera in a firstimage coordinate system of the first camera; and a first controllerconfigured to control the first camera and the first robot.

The first controller is configured to control the first robot so as toposition the first index and the first camera at a first relativeposition; cause the first camera to image the first index positioned atthe first relative position to acquire imaged data of the first index inthe first image coordinate system, and store the imaged data ascoordinate data of index reference point.

A second object inspection device includes a second camera configured toacquire the image data; a second robot configured to relatively positionthe object and the second camera at a second inspection position wherethe surface is to be inspected, the second inspection positioncorresponding to the first inspection position; a second indexconfigured to be positioned with respect to the second camera by thesecond robot and imaged by the second camera, the second index beingconfigured for representing a position of the second index with respectto the second camera in a second image coordinate system of the secondcamera, the second image coordinate system corresponding to the firstimage coordinate system; and a second controller configured to controlthe second camera and the second robot.

The second controller is configured to control the second robot so as toposition the second index and the second camera at a second relativeposition corresponding to the first relative position; cause the secondcamera to image the second index positioned at the second relativeposition to acquire imaged data of the second index in the second imagecoordinate system; based on the imaged data of the second index and thecoordinate data of the index reference point stored in the firstcontroller, hold the second robot at a position where the second indexis disposed at the index reference point in the second image coordinatesystem; and adjust the second inspection position using the position ofthe second robot when the second index is disposed at the indexreference point.

In still another aspect of the present disclosure, a method of adjustingan inspection position, where a surface of an object is to be inspected,in an object inspection device for inspecting the surface using imagedata of the object, includes controlling a robot so as to position anindex and a camera at a relative position; causing the camera to imagethe index positioned at the relative position to acquire imaged data ofthe index in an image coordinate system; based on the imaged data of thesecond index and the stored coordinate data of the index referencepoint, holding the robot at a position where the index is disposed atthe index reference point in the image coordinate system; and adjustingthe inspection position using the position of the robot when the indexis disposed at the index reference point.

In still another aspect of the present disclosure, a method of adjustingan inspection position, where a surface of an object is to be inspected,in an object inspection system including a plurality of objectinspection devices each configured to inspect the surface using imagedata of the object, includes controlling a first robot so as to positiona first index and a first camera at a first relative position; causingthe first camera to image the first index positioned at the firstrelative position to acquire imaged data of the first index in a firstimage coordinate system, and store the imaged data as coordinate data ofindex reference point; controlling a second robot so as to positionsecond index and a second camera at a second relative positioncorresponding to the first relative position; causing the second camerato image the second index positioned at the second relative position toacquire imaged data of the second index in a second image coordinatesystem; based on the imaged data of the second index and the storedcoordinate data of the index reference point, holding the second robotat a position where the second index is disposed at the index referencepoint in the second image coordinate system; and adjusting a secondinspection position using the position of the second robot when thesecond index is disposed at the index reference point.

According to the present disclosure, the inspection parameter can beshared among the plurality of object inspection devices. The image dataimaged in the plurality of object inspection devices can be shared amongthe plurality of object inspection devices and are usable for, e.g.,machine learning.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an object inspection system according to anembodiment;

FIG. 2 is a block diagram of an object inspection device illustrated inFIG. 1;

FIG. 3 is a perspective view of the object inspection device illustratedin FIG. 2;

FIG. 4 is an enlarged view enlarging a part of the object inspectiondevice illustrated in FIG. 3;

FIG. 5 is a flowchart depicting an example of an operation flow of afirst object inspection device;

FIG. 6 is a flowchart depicting an example of an operation flow of thefirst object inspection device;

FIG. 7 is a flowchart depicting an example of an operation flow of asecond object inspection device;

FIG. 8 is a flowchart depicting an example of step S26 in FIG. 7;

FIG. 9 is a flowchart depicting another example of step S26 in FIG. 7;

FIG. 10 is a flowchart depicting an example of an operation flow of thesecond object inspection device;

FIG. 11 is an example of an image imaged by a camera in step S2 in FIG.5;

FIG. 12 illustrates a state in which an object to be inspected ispositioned with respect to the camera in the object inspection device;

FIG. 13 illustrates an example of an image imaged by the camera in stepS12 in FIG. 6;

FIG. 14 illustrates an example of an image imaged by the camera in stepS23 in FIG. 7;

FIG. 15 illustrates an example of an image imaged by the camera in stepS23 in FIG. 7;

FIG. 16 illustrates an example of an image imaged by the camera in stepS23 in FIG. 7;

FIG. 17 is a drawing of an index object according to another embodiment;and

FIG. 18 is a perspective view of an object inspection device accordingto another embodiment.

DETAILED DESCRIPTION

Embodiments of the present disclosure will be described in detail below,with reference to the drawings. Note that, in the various embodiments tobe described below, the same reference numerals are given to similarcomponents, and redundant descriptions thereof will be omitted. First,with reference to FIG. 1, an object inspection system 10 according to anembodiment is described.

The object inspection system 10 includes a plurality of objectinspection devices 20A and 20B. Each of the object inspection devices20A and 20B carries out a surface inspection of an object to beinspected, using image data of the object imaged by a camera, asdescribed later. The object inspection devices 20A and 20B may beinstalled in a same factory (e.g., a same manufacturing line), or may beinstalled in different factories.

Next, with reference to FIG. 1 to FIG. 4, the (first) object inspectiondevice 20A is described. The object inspection device 20A includes acontroller 22A, a robot 24A, a camera 26A, a lighting system 28A, and anindex object 50A. The controller 22A includes e.g. a processor (CPU,GPU) and a memory (RAM, ROM), and controls the robot 24A, the camera26A, and the lighting system 28A.

In this embodiment, the robot 24A is a vertical articulated robotincluding a robot base 30, a turning body 32, a robot arm 34, a wrist36, and a robot hand 38. The robot base 30 is fixed on a floor of a workcell. The turning body 32 is provided at the robot base 30 so as to berotatable about a vertical axis.

The robot arm 34 includes a lower arm 40 rotatably coupled to theturning body 32 and an upper arm 42 rotatably coupled to a distal end ofthe lower arm 40. The wrist 36 is mounted to a distal end of the upperarm 42 so as to rotatably support the robot hand 38.

As illustrated in FIG. 3, the robot hand 38 includes a hand base 44, aplurality of fingers 46, and a finger driver (not illustrated). The handbase 44 is coupled to the wrist 36. The plurality of fingers 46 areprovided at the hand base 44 so as to open and close. The finger driveris e.g. an air cylinder built in the hand base 44. In response to acommand from the controller 22A, the finger driver causes the fingers 46to open and close.

The robot 24A includes a plurality of servomotors 48 (FIG. 2). Theservomotors 48 are built in the robot base 30, the turning body 32, therobot arm 34, and the wrist 36 of the robot 24A, respectively, and drivethe movable elements (i.e., the turning body 32, the robot arm 34, andthe wrist 36) of the robot 24A in response to commands from thecontroller 22A.

A robot coordinate system C_(RA) (FIG. 3) is set as a coordinate systemfor controlling the respective movable elements of the robot 24A. Thecontroller 22A operates the respective movable elements of the robot 24Awith reference to the robot coordinate system C_(RA), and disposes therobot hand 38 at any position in the robot coordinate system C_(RA).Note that the “position” in the present disclosure may mean the positionand orientation.

For example, the robot coordinate system C_(RA) is set for the robot 24Asuch that the origin thereof is disposed at the center of the robot base30, a z-axis thereof is parallel to a vertical direction of a realspace, and the turning body 32 is turned about the z-axis.

The camera 26A includes an optical system such as a focus lens, and animage sensor such as a CCD or CMOS sensor. In this embodiment, thecamera 26A is fixed at a predetermined position in the robot coordinatesystem C_(RA) so as to be separate away from the robot 24A. In responseto a command from the controller 22A, the camera 26A images an objectgripped by the robot 24A, and transmits the captured image data to thecontroller 22A.

An image coordinate system C_(CA) is set for the camera 26A. The imagecoordinate system C_(CA) is a coordinate system defining a field of viewof the camera 26A, and each pixel of the image data imaged by the camera26A can be expressed as coordinates in the image coordinate systemC_(CA). The robot coordinate system C_(RA) and the image coordinatesystem C_(CA) are calibrated with each other in advance, and thecoordinates in one of the robot coordinate system C_(RA) and the imagecoordinate system C_(CA) can be transformed into the coordinates in theother of the robot coordinate system C_(RA) and the image coordinatesystem C_(CA), via a transformation matrix (e.g., a Jacobian matrix).

Thus, a fixed position of the camera 26A and an optical axis O of thecamera 26A (i.e., an optical path of a subject image incident on theoptical system of the camera 26A) can be expressed as coordinates in therobot coordinate system C_(R), and the controller 22A can recognize thepositions of the camera 26A and the optical axis O in the robotcoordinate system C_(R).

In this embodiment, the optical axis O of the image coordinate systemC_(CA) and the x-axis of the robot coordinate system C_(RA) areparallel. As described later, when carrying out a surface inspection ofthe object to be inspected by the object inspection device 20A, theobject and the camera 26A are positioned at a predetermined firstinspection position by the robot 24A.

The lighting system 28A includes an incandescent lamp, a fluorescentlamp, LED, or the like, and is fixed at a predetermined position. Thelighting system 28A is turned ON/OFF in response to a command from thecontroller 22A, and irradiates light onto the object gripped by therobot 24A when being turned ON.

As illustrated in FIGS. 3, 4, and 11, the index object 50A is a flatplate member having an approximately rectangular shape, and includes anindex 52A on its surface 56. In this embodiment, the index 52A has atotal of three circular dots D_(1A), D_(2A), and D_(3A). The index 52Amay be e.g. painted marks drawn on the surface 56, or engraved marksformed on the surface 56. As described later, the index 52A is forrepresenting the position of the index 52A with respect to the camera26A in the image coordinate system C_(CA).

The (second) object inspection device 20B has a configuration similar tothat of the object inspection device 20A. Specifically, the objectinspection device 20B includes a controller 22B, a robot 24B, a camera26B, and a lighting system 28B, and an index 50B. The controller 22Bincludes e.g. a processor and a memory (not illustrated), and controlsthe robot 24B, the camera 26B, and the lighting system 28B. Thecontroller 22B may be wiredly or wirelessly connected to theabove-described controller 22A so as to be able to communicate with eachother.

Similar to the robot 24A, the robot 24B includes the robot base 30, theturning body 32, the robot arm 34, the wrist 36, the robot hand 38, andthe servomotor 48. A robot coordinate system C_(RB) (FIG. 3) is set forthe robot 24B. The controller 22B operates the respective movableelements of the robot 24B with reference to the robot coordinate systemC_(RB), and disposes the robot hand 38 at any position in the robotcoordinate system C_(RB).

In this embodiment, the robot coordinate system C_(RB) is set withrespect to the robot 24B such that the positional relation (the positionof the origin and the directions of the axes) of the robot coordinatesystem C_(RA) with respect to the robot 24A is the same as that of therobot coordinate system C_(RB) with respect to the robot 24B.

Specifically, the robot coordinate system C_(RB) is set with respect tothe robot 24B such that the origin of the robot coordinate system C_(RB)is disposed at the center of the robot base 30 of the robot 24B, thez-axis of the robot coordinate system C_(RB) is parallel to the verticaldirection of the real space, and the turning body 32 of the robot 24B isrotated about the z-axis of the robot coordinate system C_(RB).Furthermore, the x-axis of the robot coordinate system C_(RB) and theoptical axis of the camera 26B are parallel.

In order to set the positional relation of the robot coordinate systemC_(RA) with respect to the robot 24A and the positional relation of therobot coordinate system C_(RB) with respect to the robot 24B so as to bethe same each other, the robot hand 38 of the robot 24A and the robothand 38 of the robot 24B are caused to touch a same position. It ispossible to set the robot coordinate systems C_(RA) and C_(RB) such thatthe positional relation of the robot coordinate system C_(RA) withrespect to the robot 24A and the positional relation of the robotcoordinate system C_(RB) with respect to the robot 24B is the same,using positional data of the robot coordinate systems C_(RA) and C_(RB)and position data of each movable element of the robots 24A and 24B.

The camera 26B has an optical specification the same as that of thecamera 26A. The optical specification includes e.g. an angle of view, aheight of field of view, and a resolution (the number of pixels of theimage sensor). For example, the cameras 26A and 26B are cameras of thesame type. An image coordinate system C_(CB) is set for the camera 26B.

Each pixel of the image data imaged by the camera 26B can be expressedas coordinates in the image coordinate system C_(CB). The imagecoordinate system C_(CB) of the camera 26B corresponds to the imagecoordinate system C_(CA) of the camera 26A. The robot coordinate systemC_(RB) and the image coordinate system C_(CB) are calibrated in advance,and the coordinates in one of the robot coordinate system C_(RB) and theimage coordinate system C_(CB) can be transformed into the coordinatesin the other of the robot coordinate system C_(RB) and the imagecoordinate system C_(CB), via a transformation matrix (e.g., a Jacobianmatrix).

The positional relation between the robot coordinate system C_(RB) andthe image coordinate system C_(CB) (i.e., the origin position and thedirection of each axis of the image coordinate system C_(CB) withrespect to the robot coordinate system C_(RB)) is the same as thepositional relation between the above-described robot coordinate systemC_(RA) and image coordinate system C_(CA) (the origin position and thedirections of each axis of the image coordinate system C_(CA) withrespect to the robot coordinate system C_(RA)). When carrying out thesurface inspection of the object to be inspected by the objectinspection device 20B, the object to be inspected and the camera 26B arepositioned at a second inspection position corresponding to theabove-described first inspection position by the robot 24B.

The index object 50B has an outer shape the same as the above-describedindex object 50A, and includes an index 52B on its surface 56, asillustrated in FIGS. 3 and 4. The index 52B has a total of threecircular dots D_(1B), D_(2B), and D_(3B). The positions of the dotsD_(1B), D_(2B), and D_(3B) on the surface 56 of the index object 50B arethe same as those of the dots D_(1A), D_(2A), and D_(3A) on the surface56 of the index object 50A, respectively. The index 52B may be paintedmarks drawn on the surface 56 or engraved marks formed on the surface56. The index 52B is for representing the position of the index 52B withrespect to the camera 26B in the image coordinate system C_(CB).

Next, an operation of the object inspection system 10 will be describedwith reference to FIGS. 5 to 10. First, the flow depicted in FIG. 5 iscarried out in the object inspection device 20A. The flow depicted inFIG. 5 is started when the controller 22A of the object inspectiondevice 20A receives a coordinate data acquisition command from a hostcontroller, an operator, or a computer program.

In step S1, the controller 22A operates the robot 24A so as to positionthe index object 50A and the camera 26A at a first relative position.Specifically, the controller 22A operates the robot 24A so as to gripthe index object 50A, which is stored in a predetermined storagelocation, with the robot hand 38 at a predetermined index grippingposition. The index gripping position is e.g. a center of an uppersurface 58 of the index object 50A.

Next, the controller 22A operates the robot 24A so as to move the indexobject 50A, and positions the index object 50A at the first relativeposition with respect to the camera 26A. The first relative position ispredetermined by the operator. The controller 22A pre-stores in thememory a relative position command for positioning the index object 50Aat the first relative position with respect to the camera 26A, andtransmits the relative position command to each servomotor 48 of therobot 24A to operate the robot 24A.

In this embodiment, when the index object 50A and the camera 26A aredisposed at the first relative position, the entire index object 50A iswithin the field of view of the camera 26A. However, it is onlynecessary that at least the dots D_(1A), D_(2A), and D_(3A) on the indexobject 50A are within the field of view of the camera 26A when the indexobject 50A and the camera 26A are disposed at the first relativeposition.

In step S2, the controller 22A causes the camera 26A to image the indexobject 50A. Specifically, the controller 22A transmits a command to thelighting system 28A to turn ON the lighting system 28A. Due to this, theindex object 50A gripped by the robot 24A is illuminated by the lightingsystem 28A.

Then, the controller 22A transmits an imaging command to the camera 26A.Upon receipt of the imaging command from the controller 22A, the camera26A images the index object 50A, and acquires imaged data of the index52A. FIG. 11 illustrates the image generated from the image datacaptured at this time. In the image 54 illustrated in FIG. 11, theoverall image of the index object 50A including the index 52A (the dotsD_(1A), D_(2A), and D_(3A)) is photographed. The image data, based onwhich the image 54 is generated, includes the coordinates in the imagecoordinate system C_(CA) of the pixels representing each of the dotsD_(1A), D_(2A), and D_(3A).

In step S3, the controller 22A acquires coordinate data of the indexreference points. Specifically, the controller 22A defines, as the indexreference point, a predetermined point (e.g., one pixel) in a region ofeach of the dots D_(1A), D_(2A), and D_(3A) in the image 54 illustratedin FIG. 11, and calculates the coordinates of the index reference pointsin the image coordinate system C_(CA).

For example, the index reference point is determined as the center pointof the region of each of the dots D_(1A), D_(2A), and D_(3A) in theimage 54. Hereinafter, for the sake of easy understanding, the indexreference points of the dots D_(1A), D_(2A), and D_(3A) are referred toas the index reference points D_(1A), D_(2A), and D_(3A), respectively.The controller 22A stores in the memory the acquired coordinate data ofthe index reference points D_(1A), D_(2A), and D_(3A).

After carrying out the flow depicted in FIG. 5 to acquire the coordinatedata of the index reference points D_(1A), D_(2A), and D_(3A), the flowdepicted in FIG. 6 is carried out in the object inspection device 20A.The flow depicted in FIG. 6 is started when the controller 22A of theobject inspection device 20A receives a surface inspection command fromthe host controller, the operator, or the computer program.

In step S11, the controller 22A operates the robot 24A so as to positionan object 60 to be inspected and the camera 26A at the first inspectionposition, as illustrated in FIG. 12. In this embodiment, the firstinspection position is different from the above-described first relativeposition. In this case, the controller 22A stores in the memory aparameter P (e.g., a coordinate transformation matrix) for shifting inthe robot coordinate system C_(RA) from a position of the hand-tip(e.g., TCP: Tool Center Point) of the robot 24A at the first relativeposition to a position of the hand-tip of the robot 24A at the firstinspection position.

In this step S1, the controller 22A operates the robot 24A so as to gripthe object 60 to be inspected, which is stored in a predeterminedstorage location, at a predetermined inspection gripping position by therobot hand 38. This inspection gripping position is e.g. a center of anupper surface 60 b of the object 60.

Next, the controller 22A operates the robot 24A so as to move the object60 to be inspected, and positions the object 60 at the first inspectionposition with respect to the camera 26A. When the object 60 and thecamera 26A are disposed at the first inspection position, at least anarea to be inspected in a surface 60 a of the object 60 is within thefield of view of the camera 26A. In this embodiment, when the object 60and the camera 26A are disposed at the first inspection position, theentire object 60 is within the field of view of the camera 26A.

In step S12, the controller 22A causes the camera 26A to image theobject 60 to be inspected. Specifically, the controller 22A transmits acommand to the lighting system 28A to turn ON the lighting system 28A.Then, the controller 22A transmits the imaging command to the camera 26Aso as to image the object 60 by the camera 26A. FIG. 13 illustrates animage 62 generated from the image data captured by the camera 26A atthis time.

In step S13, the controller 22A acquires an inspection parameter. Theinspection parameter is a parameter set as various conditions forinspecting the surface 60 a of the object 60 to be inspected in step S14described later. The inspection parameter includes the variousconditions such as a degree of coincidence of pattern matching whenextracting a feature (a scar, an edge, a hole, etc.) in the image, athreshold of this degree of coincidence for determining whether a defectsuch as a scar is present, an exposure time for imaging, a size of aninspection window, a threshold of a histogram in this inspection window,and a filtering condition.

As an example, the operator operates an input section (e.g., a keyboard,a computer mouse, and a touch panel) provided at the controller 22A, andsets the various conditions of the inspection parameter, based on theimage 62 illustrated in FIG. 13. Thus, the controller 22A acquires andstores the inspection parameter in the memory.

In step S14, the controller 22A carries out the surface inspection ofthe object 60 to be inspected. Specifically, the controller 22A causesthe camera 26A to image the object 60 by the exposure time included inthe inspection parameter acquired in step S13, and carries out thesurface inspection of the object 60 using the captured image data (e.g.,the image 62) and the inspection parameter set in step S13. For example,the controller 22A inspects whether a defect such as a scar is presentin the surface 60 a of the object 60.

In this way, the object inspection device 20A can sequentially carry outthe surface inspection for a plurality of objects 60 to be inspected.After the inspection parameter is acquired in step S13 in FIG. 6, theflow depicted in FIG. 7 is carried out in the object inspection device20B. The flow depicted in FIG. 7 is started when the controller 22B ofthe object inspection device 20B receives an inspection positionadjustment command from the host controller, the operator, or thecomputer program.

In step S21, the controller 22B receives the coordinate data of theindex reference points D_(1A), D_(2A), and D_(3A). For example, thecontroller 22B communicates with the controller 22A to receive from thecontroller 22A the coordinate data of the index reference points D_(1A),D_(2A), and D_(3A) acquired in above-described step S3. Alternatively,the operator may manually download the coordinate data of the indexreference points D_(1A), D_(2A), and D_(3A) from the controller 22A tothe controller 22B, using a portable memory, such as EEPROM.

In step S22, the controller 22B operates the robot 24B so as to positionthe index object 50B and the camera 26B at a second relative position.Specifically, the controller 22B operates the robot 24B so as to gripthe index object 50B, which is stored in a predetermined storagelocation, at the index gripping position by the robot hand 38. The indexgripping position at this time is the same as that in above-describedstep S1. In other words, the position of the index 52B with respect tothe hand-tip of the robot 24B is the same as that of the index 52A withrespect to the hand-tip of the robot 24A.

Next, the controller 22B operates the robot 24B so as to move the indexobject 50B, and positions the index object 50B at the second relativeposition with respect to the camera 26B. The second relative positioncorresponds to the above-described first relative position. Accordingly,the second relative position is different from the second inspectionposition. For example, the controller 22B transmits a command the sameas the relative position command transmitted by the controller 22A inabove-described step S1 to the servomotor 48 of the robot 24B so as tooperate the robot 24B. As a result, the index object 50B is disposed atthe second relative position with respect to the camera 26B, asillustrated in FIG. 3 and FIG. 4.

In step S23, the controller 22B causes the camera 26B to image the index52B. Specifically, the controller 22B transmits the command to thelighting system 28B so as to turn ON the lighting system 28B. Next, thecontroller 22B transmits the imaging command to the camera 26B so as toimage the index 52B on the index object 50B by the camera 26B.

In this regard, even when the controller 22B operates the robot 24B inaccordance with the relative position command the same as that in stepS1 so as to position the index object 50B in step 22, the secondrelative position of the camera 26B and the index object 50B at the endof step S22 may be deviated from the first relative position of thecamera 26A and the index object 50A at the end of step S1.

Such deviation of the relative positions may occur due to an error indimension or mounting-state between the components of the robots 24A and24B, an error between the fixed positions of the cameras 26A and 26B,and an error in optical performance between the cameras 26A and 26B,etc.

FIG. 14 to FIG. 16 each illustrate an example of an image generated fromthe image data captured by the camera 26B in this step S23. Note that,in FIG. 14 to FIG. 16, the index object 50A in the image 54 illustratedin FIG. 11 is superimposed on the images of FIG. 14 to FIG. 16 such thatthe image coordinate system C_(CA) coincides with the image coordinatesystem C_(CB), wherein the index object 50A is illustrated by dottedlines, for comparison.

In an image 70 illustrated in FIG. 14, the position of the index object50B is deviated from that of the index object 50A by a distance δ in thex-axis negative direction of the image coordinate system C_(CB). Suchdeviation δ occurs when the position of the index object 50B withrespect to the camera 26B at the end of step S22 is deviated in thex-axis negative direction of the image coordinate system C_(CB) fromthat of the index object 50A with respect to the camera 26A at the endof step S1.

In an image 72 illustrated in FIG. 15, the position of the index object50B is rotated from that of the index object 50A by an angle θ about animaginary axis (i.e., the optical axis O) orthogonal to the x-y plane ofthe image coordinate system C_(CB). Such an amount of deviation θ occurswhen the position of the index object 50B with respect to the camera 26Bat the end of step S22 is deviated from that of the index object 50Awith respect to the camera 26A at the end of step S1 about the opticalaxis O.

In an image 74 illustrated in FIG. 16, the index object 50B is reducedin size by a magnification a compared with the index object 50A. Such anamount of deviation α occurs when the position of the index object 50Bwith respect to the camera 26B at the end of step S22 is deviated fromthat of the index object 50A with respect to the camera 26A at the endof step S1 such that the index object 50B is more separated away fromthe camera 26B in the direction of the optical axis O.

In this embodiment, the controller 22B acquires the position of therobot 24B where the index 52B (the dots D_(1B), D_(2B), and D_(3B)) inthe image data (the image 70, 72, or 74) imaged by the camera 26B isdisposed at the index reference points D_(1A), D_(2A), and D_(3A), bycarrying out steps S24 to S27 described later.

In step S24, the controller 22B calculates the amount of deviationbetween the imaged data of the index 52B captured in step S23 and thecoordinate data of the index reference points D_(1A), D_(2A), and D_(3A)received in step S21. Specifically, the controller 22B defines, as adetection point, a predetermined point (e.g., one pixel) in a region ofeach of the dots D_(1B), D_(2B), and D_(3B) in the image data (the image70, 72, or 74) imaged in step S23, and calculates the coordinates of therespective detection points in the image coordinate system C_(CB).

In this regard, the detection points are set such that the positionsthereof in the regions of the dots D_(1B), D_(2B), and D_(3B) are thesame as those of the index reference points in the regions of the dotsD_(1A), D_(2A), and D_(3A), respectively. That is, if the indexreference points are defined as the center points of the regions of thedots D_(1A), D_(2A), and D_(3A), the detection points are defined as thecenter points of the dots D_(1B), D_(2B), and D_(3B), respectively.

Hereinafter, for the sake of easy understanding, the detection points inthe dots D_(1B), D_(2B), and D_(3B) are referred to as the detectionpoints D_(1B), D_(2B), and D_(3B), respectively. The controller 22Brespectively calculates, as the amount of deviation, a first differenceΔ₁ between the coordinates of the index reference point D_(1A) and thecoordinates of the detection point D_(1B), a second difference Δ₂between the coordinates of the index reference point D_(2A) and thecoordinates of the detection point D_(2B), and a third difference Δ₃between the coordinates of the index reference point D_(3A) and thecoordinates of the detection point D_(3B).

In step S25, the controller 22B determines whether the index 52B imagedin step S23 is disposed at the index reference points D_(1A), D_(2A),and D_(3A) in the image coordinate system C_(CB). Specifically, thecontroller 22B determines whether the first difference Δ₁, the seconddifference Δ₂, and the third difference Δ₃ are less than or equal to apredetermined threshold value Δ_(th) (i.e., Δ₁≤Δ_(th), Δ₂≤Δ_(th), andΔ₃≤Δ_(th)). If the differences Δ₁, Δ₂, and Δ₃ are less than or equal tothe threshold Δ_(th), the controller 22B determines that the index 52Bis disposed at the index reference points D_(1A), D_(2A), and D_(3A)(i.e., determines YES), and proceeds to step S27 while holding the robot24B.

On the other hand, when the difference Δ₁, Δ₂, or Δ₃ is greater than thethreshold Δ_(th) (i.e., Δ₁>Δ_(th), Δ₂>Δ_(th), or Δ₃>Δ_(th)), thecontroller 22B determines that the index 52B is not disposed at theindex reference points D_(1A), D_(2A), and D_(3A) (i.e., determines NO),and proceeds to step S26.

In step S26, the controller 22B searches for the position of the robot24B where the index 52B is disposed at the index reference pointsD_(1A), D_(2A), and D_(3A). This step S26 will be described withreference to FIG. 8. Note that, in the flow depicted in FIG. 8,processes similar to those of FIG. 7 are assigned the same step numbers,and detailed descriptions thereof will be omitted.

In step S31, the controller 22B changes the relative position of theindex object 50B and the camera 26B. Specifically, the controller 22Boperates the robot 24B so as to move the index object 50B by apredetermined amount of movement in a predetermined direction in therobot coordinate system CB. The direction in which the index object 50Bis to be moved at this time includes e.g. the directions of the x-axis(i.e., the optical axis O), the y-axis, and the z-axis of the robotcoordinate system C_(RB), and directions about the x-axis, the y-axis,and the z-axis of the robot coordinate system C_(RB). The movementdirection and the amount of movement at this time can be predeterminedby the operator.

After step S31, the controller 22B sequentially carries out theabove-described steps S23 to S25. When the controller 22B determines YESin step S25 in FIG. 8, the controller 22B proceeds to step S27 in FIG. 7while holding the robot 24B. On the other hand, when the controller 22Bdetermines NO in step 25 in FIG. 8, the controller 22B returns to stepS31.

In this way, the controller 22B repeatedly carries out steps S31 and S23to S25 until it determines YES in step S25 in FIG. 8. Note that, if thecontroller 22B determines NO in step S25 after carrying out step S31,the controller 22B may return the position of the index object 50B,which has been changed in step S31, to the position before carrying outstep S31.

The controller 22B may change the movement direction of the index object50B in accordance with a predetermined order, each time the controller22B carries out step S31. This order may be determined as e.g. x-axispositive direction→x-axis negative direction→y-axis positivedirection→y-axis negative direction→z-axis positive direction→z-axisnegative direction→direction about the x-axis→direction about they-axis→direction about the z-axis of the robot coordinate system C_(RB).In this way, the controller 22B searches for the position of the robot24B where the index 52B is disposed at the index reference pointsD_(1A), D_(2A), and D_(3A).

Next, another example of step S26 will be described with reference toFIG. 9. In step S41, the controller 22B transforms the amount ofdeviation (differences Δ₁, Δ₂, and Δ₃) between the imaged data of theindex 52B captured in step S23 and the coordinate data of the indexreference points D_(1A), D_(2A), and D_(3A) into the robot coordinatesystem C_(RB). As described above, the coordinates in the imagecoordinate system C_(CB) can be transformed into those in the robotcoordinate system C_(RB).

The controller 22B transforms the coordinates of the detection pointsD_(1B), D_(2B), and D_(3B) in the image coordinate system C_(CB)acquired in the above-described step S24 into coordinates C_(1B),C_(2B), and C_(3B) in the robot coordinate system C_(RB), respectively.Further, the controller 22B transforms the coordinates of the indexreference points D_(1A), D_(2A), and D_(3A) in the image coordinatesystem C_(CA) (i.e., coordinates in the image coordinate system C_(CB))received in above-described step S21 into coordinates C_(1A), C_(2A),and C_(3A) in the robot coordinate system C_(RB), respectively.

The controller 22B calculates a first difference Δ_(1_R) between thecoordinates C_(1B) and C_(1A), second difference Δ_(2_R) between thecoordinates C_(2B) and C_(2A), and third difference Δ_(3_R) between thecoordinates C_(3B) and C_(3A) in the robot coordinate system C_(RB),respectively. In this way, the controller 22B can transform thedifferences Δ₁, Δ₂, and Δ₃ in the image coordinate system C_(CB) intothe differences Δ_(1_R), Δ_(2_R), and Δ_(3_R) in the robot coordinatesystem R_(CB).

In step S42, the controller 22B operates the robot 24B such that thedifferences Δ_(1_R), Δ_(2_R), and Δ_(3_R) in the robot coordinate systemR_(CB) acquired in step S41 are zero. Specifically, the controller 22Bdetermines the position in the robot coordinate system R_(CB) where theindex object 50B (i.e., the robot hand 38) should be disposed in orderto make these differences Δ_(1_R), Δ_(2_R), and Δ_(3_R) to be zero,based on the differences Δ_(1_R), Δ_(2_R), and Δ_(3_R) acquired in stepS41.

Then, the controller 22B generates a command to each servomotor 48 fordisposing the index object 50B at the determined position, and transmitsit to each servomotor 48. In this way, the controller 22B can disposethe index object 50B at the position where the differences Δ_(1_R),Δ_(2_R), and Δ_(3_R) are zero.

When the index object 50B is disposed at the position where thedifferences Δ_(1_R), Δ_(2_R), and Δ_(3_R) are zero, the index 52B imagedby the camera 26B at this time can be regarded to be disposed at theindex reference points D_(1A), D_(2A), and D_(3A). After the end of thisstep S42, the controller 22B proceeds to step S27 in FIG. 7 whileholding the robot 24B.

Referring again to FIG. 7, in step S27, the controller 22B acquires theposition of the robot 24B. For example, the controller 22B acquires, asthe position of the robot 24B, the rotation angle of each servomotor 48.The position of the robot 24B acquired at this time is that at the timeof the determination of YES in step S25 in FIG. 7, at the time of thedetermination of YES in step S25 in FIG. 8, or at the time of the end ofstep S42 in FIG. 9.

In step S28, the controller 22B adjusts the second inspection position.As described above, in the surface inspection of the object 60 to beinspected by the object inspection device 20B, the object 60 and thecamera 26B are positioned at the second inspection position by the robot24B. The controller 22B pre-stores in the memory the position of therobot 24B corresponding to the second inspection position.

In this step S28, the controller 22B adjusts the preset secondinspection position using the position of the robot 24B acquired in stepS27. Specifically, the controller 22B acquires the above-describedparameter P from the controller 22A.

Then, using the position of the robot 24B acquired in step S27 and theparameter P, the controller 22B adjusts the second inspection positionset at the start of step S28 to a position where the position acquiredin step S27 is shifted by the parameter P. At the second inspectionposition after this adjustment, the robot 24B is disposed at theposition where the hand-tip of the robot 24B is further shifted from theposition acquired in step S27 by the parameter P in the robot coordinatesystem C_(RB).

In this embodiment, as described above, the positional relation of therobot coordinate system C_(RA) with respect to the robot 24A is the sameas that of the robot coordinate system C_(RB) with respect to the robot24B. In this case, the controller 22B can shift the position acquired instep S27 in the robot coordinate system C_(RB) using the parameter Pacquired from the controller 22A, when adjusting the second inspectionposition.

As another example, a common robot coordinate system among the robots24A and 24B can be set. In this case, the above-described parameter P isacquired as a value in this common robot coordinate system. Thecontroller 22B shifts the position acquired in step S27 by the parameterP in this common robot coordinate system, when adjusting the secondinspection position in step S28.

As still another example, the robot coordinate systems C_(RA) and C_(RB)can be set such that the positional relation of the robot coordinatesystem C_(RA) with respect to the robot 24A is different from that ofthe robot coordinate system C_(RB) with respect to the robot 24B. Inthis case, a difference β between the positional relation of the robotcoordinate system C_(RA) with respect to the robot 24A and thepositional relation of the robot coordinate system C_(RB) with respectto the robot 24B is preliminarily acquired.

When adjusting the second inspection position in this step S28, thecontroller 22B transforms the parameter P acquired as the value in therobot coordinate system C_(RA) into a parameter P′ in the robotcoordinate system C_(RB) using the difference β, and shifts the positionacquired in step S27 by this parameter P′.

After the end of the flow of FIG. 7, the flow depicted in FIG. 10 iscarried out in the object inspection device 20B. The flow depicted inFIG. 10 is started when the controller 22B of the object inspectiondevice 20B receives a surface inspection command from the hostcontroller, the operator, or the computer program.

In step S51, the controller 22B acquires the inspection parameter fromthe controller 22A of the object inspection device 20A. For example, thecontroller 22B communicates with the controller 22A to download from thecontroller 22A the inspection parameter set in the above-described stepS13. Alternatively, the operator may manually download the inspectionparameter from the controller 22A to the controller 22B, using theportable memory such as EEPROM.

In step S52, the controller-22B positions the object 60 to be inspectedand the camera 26B at the second inspection position adjusted in theabove-described step S28. Specifically, the controller 22B operates therobot 24B so as to grip the object 60 to be inspected, which is storedin a predetermined storage location, by the robot hand 38 at theposition the same as the inspection gripping position where the robot24A grips the object 60 to be inspected in the above-described steps S11and S14.

Next, the controller 22B locates the robot 24B gripping the object 60 atthe second inspection position adjusted in step S28. As a result, therelative position of the object 60 gripped by the robot 24B and thecamera 26B at this time can be coincided with that of the object 60gripped by the robot 24A and the camera 26A in the above-described stepsS11 and S14.

In step S53, the controller 22B causes the camera 26B to image theobject 60 gripped by the robot 24B. The position of the object 60 in theimage captured by the camera 26B at this time is matched with theposition of the object 60 in the image 62 (FIG. 13) captured by thecamera 26A in the above-described step S14. In other words, the imageimaged by the camera 26B in this step S53 is substantially the same asthe image 62.

In step S54, the controller 22B carries out the surface inspection ofthe object 60 to be inspected. Specifically, the controller 22B carriesout the surface inspection (e.g., inspect whether the defect such as ascar is present) of the object 60, using the inspection parameteracquired in step S51 and the image data of the object 60 imaged in stepS53.

As described above, according to this embodiment, the position of theobject 60 in the image imaged by the camera 26A for the surfaceinspection in the object inspection device 20A can be matched with theposition of the object 60 in the image imaged for the surface inspectionin the object inspection device 20B. Due to this configuration, theinspection parameter can be shared among the plurality of objectinspection devices 20A and 20B. Further, the image data imaged by theplurality of object inspection devices 20A and 20B can be shared amongthem, and used for e.g. the machine learning.

In addition, when the controller 22B determines NO in step S25, itrepeatedly carries out steps S31 and S23 to S25 in FIG. 8 in order tosearch for the position of the robot 24B where the index 52B is disposedat the index reference points D_(1A), D_(2A), and D_(3A). Due to thisconfiguration, it is possible to automatically search for the positionof the robot 24B where the index 52B is disposed at the index referencepoints D_(1A), D_(2A), and D_(3A).

Alternatively, when the controller 22B determines NO in step S25 in FIG.7, it carries out steps S41 and S42 depicted in FIG. 9 in order tosearch for the position of the robot 24B where the index 52B is disposedat the index reference points D_(1A), D_(2A), and D_(3A). Due to thisconfiguration, the controller 22B can determine the position where theindex object 50B should be positioned in the robot coordinate systemC_(RB) from the amount of deviation (i.e., the differences Δ₁, Δ₂, andΔ₃) in the image coordinate system C_(CB) obtained in step S24. Thus, itis possible to automatically and quickly search for the position of therobot 24B where the index 52B is disposed at the index reference pointsD_(1A), D_(2A), and D_(3A).

Further, in this embodiment, the controller 22B compares the amount ofdeviation Δ₁, Δ₂, and Δ₃ with the predetermined threshold value Δ_(th)in step S25, and determines YES when the amount of deviation is smallerthan the threshold. Due to this configuration, it is possible toautomatically determine whether the index 52B is disposed at the indexreference points D_(1A), D_(2A), and D_(3A), with a comparably simplealgorithm.

In the above-described embodiment, the first relative position isdifferent from the first inspection position, and the second relativeposition is different from the second inspection position before theadjustment in step S28. However, the first relative position may be thesame positional relation as the first inspection position, and also thesecond relative position may be the same positional relation as thesecond inspection position before the adjustment.

In this case, in step S1, the controller 22A causes the robot 24A togrip the index object 50A in place of the object 60 to be inspected, andpreliminarily position the index object 50A and the camera 26A at thefirst inspection position. Further, in step S22, the controller 22Bcauses the robot 24B to grip the index object 50B in place of the object60 to be inspected, and preliminarily position the index object 50B andthe camera 26B at the second inspection position.

Due to this configuration, it is possible to use the position of therobot 24B acquired in step S27 as the second inspection position.Accordingly, the process for shifting the position of the robot 24Bacquired in step S27 by the parameter P in step S28 can be omitted.

In the above-described embodiment, in step S54, the controller 22B mayset new inspection parameter by adjusting the inspection parameteracquired in step S51 based on the image data of the object 60 to beinspected captured by the camera 26B for the surface inspection.

For example, the operator operates the input section (e.g., thekeyboard, the computer mouse, and the touch panel) provided in thecontroller 22B so as to reset the various conditions of the inspectionparameter acquired in step S51, based on the image imaged in step 54.Thus, the controller 22B acquires and stores the new inspectionparameter in the memory. Then, the controller 22A may download the newinspection parameter from the controller 22B for update, and carries outthe surface inspection of the object 60 to be inspected using the newinspection parameter.

In the above-described embodiment, one point (e.g., center point) in theregion of each of the dots D_(1A), D_(2A), and D_(3A) in the image 54illustrated in FIG. 11 is defined as the index reference point. However,a plurality of points in the region of each of the dots D_(1A), D_(2A),and D_(3A) may be set as index reference points.

In this case, in each region of the dots D_(1B), D_(2B), and D_(3B) inthe image data (the image 70, 72, or 74) imaged in step S23, a pluralityof points corresponding to the plurality of index reference points areacquired as detection points. Then, in step S24, the controller 22Bcalculates the respective amounts of deviation between the indexreference points and the detection points corresponding to each other,wherein the positional relation of the index reference points withrespect to one dot region is the same as that of the detection pointswith respect to the one dot region.

Further, steps S24 to S26 can be omitted from the flow depicted in FIG.7. For example, the controller 22B displays the image 70, 72, or 74imaged by the camera 26B in step S23 in FIG. 7 on a display (notillustrated) provided in the controller 22B. Further, the controller 22Bdisplays the index reference points D_(1A), D_(2A), and D_(3A) (or thedots D_(1A), D_(2A), and D_(3A)) so as to be superimposed on the image70, 72, or 74 displayed on the display.

The operator operates e.g. a teach pendant so as to jog the robot 24B,and manually moves the hand-tip of the robot 24B in the direction of thex-axis (optical axis O), the y-axis, or the z-axis, or in the directionabout the x-axis, the y-axis, or the z-axis of the robot coordinatesystem C_(RB). The operator visually determines whether the index 52B(dots D_(1B), D_(2B), and D_(3B)) in the image 70, 72, or 74 displayedin the display is disposed at the index reference points D_(1A), D_(2A),and D_(3A) (or the dots D_(1A), D_(2A), and D_(3A)).

When the operator determines that the index 52B is disposed at the indexreference points D_(1A), D_(2A), and D_(3A), the operator transmits acommand to the controller 22B to carry out steps S27 and S28. In thismanner, the operator can manually search for the position of the robot24B where the index 52B is disposed at the index reference pointsD_(1A), D_(2A), and D_(3A).

Further, in the flow depicted in FIG. 8, the operator can manually carryout step S31. Specifically, in step S31, the operator operates e.g. theteach pendent while viewing the image 70, 72, or 74 displayed on thedisplay of the controller 22B, and manually moves the hand-tip of therobot 24B. After the end of the manual operation by the operator, thecontroller 22B carries out steps S23 to S25.

In this case, when the controller 22B determines NO in step S25 in FIG.8, the controller 22B may output a warning for notifying the operatorthat the index 52B is not disposed at the index reference points D_(1A),D_(2A), and D_(3A). For example, this warning can be generated in theform of voice or image showing that “The index is not disposed at theindex reference points.”

Further, in step S26 depicted in FIG. 9, the controller 22B may furthercarries out the above-described steps S23 to S25 after step S42. In thiscase, when the controller 22B determines YES in step S25 carried outafter step S42, it proceeds to step S27 in FIG. 7, while the controller22B returns to step S41 when it determines NO in step S25 after stepS42.

In the above-described embodiment, the camera 26A can image the entireobject 60 to be inspected. However, the surface 60 a of the object 60may be divided into a total of “n” (n is an integer of 2 or greater)sections, wherein the object inspection device 20A may be configuredsuch that the camera 26A can image the n-th section of the surface 60 aof the object 60 when the camera 26A and the object 60 are disposed atthe n-th inspection position. In this case, the controller 22Arepeatedly performs the process of disposing the camera 26A and theobject 60 at the n-th inspection position and imaging the n-th sectionby the camera 26A for n=1 to n, when carrying out the surface inspectionof the object 60 in step S14.

Similarly, in the object inspection device 20B, the surface 60 a of theobject 60 to be inspected may be divided into a total of “n” (n is aninteger of 2 or greater) sections, wherein the controller 22B repeatedlyperforms the process of disposing the camera 26B and the object 60 atthe n-th inspection position and imaging the n-th section by the camera26B for n=1 to n, when carrying out the surface inspection of the object60 in step S54.

Further, in step S2 in FIG. 5, instead of causing the real camera 26A toimage the index 52A in real space, the controller 22A may generateimaginary imaged data in a simulation by simulatively imaging an indexmodel which models the index 52A by a camera model which models thecamera 26A in an imaginary space, wherein the imaginary imaged data maybe stored as the coordinate data of the index reference points. In thiscase, the controller 22B carries out the above-described steps S24 andS25 based on the coordinate data of the index reference points obtainedfrom the imaginary imaged data generated by the controller 22A.

In the above-described embodiment, the index 52A, 52B is comprised ofthree dots (i.e., D_(1A), D_(2A) and D_(3A), or D_(1B), D_(2B) andD_(3B)). However, the index 52A, 52B may have four or more dots. Such anembodiment is illustrated in FIG. 17.

Index objects 90A and 90B illustrated in FIG. 17 includes index 92A andindex 92B, respectively, and each of the indices 92A and 92B has a totalof 120 dots D disposed in a square lattice pattern. These index objects90A and 90B can be employed instead of the above-described index objects50A and 50B, respectively. In this case, in the above-described step S3,the controller 22A may define a predetermined point (center point) in aregion of each dot D_(nA) (n=1 to 120) in the index object 90A imaged instep S2 as the index reference point D_(nA).

Further, in the above-described Step S24, the controller 22B may definethe predetermined point (center point) in a region of each dot D_(nB)(n=1 to 120) in the index object 90B imaged in step S23 as the detectionpoint D_(nB), and calculate an n-th difference Δ_(n) between thecoordinates of the index reference point D_(nA) and the coordinates ofthe detection point D_(nB). In this respect, the position of the dotD_(nA) (index reference point D_(nA)) in the index object 90A is thesame as the position of the dot D_(nB) (inspection point D_(nB)) in theindex object 90B.

The index 52A, 52B may be any detectable visual feature, such as acorner of the object, a hole formed at the object, or an edge of theobject. For example, in the above-described Step S3, the controller 22Amay define, as the index reference point, the corner of the object orthe center point of the hole in the imaged data captured by the camera26A, and calculate the coordinates of this index reference point in theimage coordinate system C_(CA). Additionally, the index object 50A, 50Bwith the index 52A, 52B may have any outer shape.

Further, as long as the position of the index 52A with respect to therobot hand-tip when the robot 24A grips the index object 50A at theindex gripping position being the same as that of the index 52B withrespect to the robot hand-tip when the robot 24B grips the index object50B at the index gripping position, the index objects 50A and 50B mayhave outer shapes different from each other. Moreover, the index object50A or 50B may have the outer shape the same as or different from theobject 60 to be inspected.

Additionally, the lighting system 28A or 28B may be omitted from theabove-described object inspection device 20A or 20B, and the object 50A,50B, or 60 may be illuminated with e.g. natural light. Furthermore, inthe above-described embodiment, the robots 24A and 24B are the verticalarticulated robots, however, the robots 24A and 24B may be any type ofrobots such as horizontal articulated robots, parallel link robots, orloaders. The object inspection system 10 may include an additionalobject inspection device in addition to the object inspection devices20A and 20B. In this case, similar to the object inspection device 20B,a controller in this additional object inspection device carries out theflows depicted in FIG. 7 to FIG. 10.

In the above-described embodiment, the cameras 26A and 26B are fixed atthe predetermined positions, and the robots 24A and 24B move the indexobjects 50A and 50B and the object 60 to be inspected. However, theindex objects 50A and 50B and the object 60 may be fixed atpredetermined positions, and the cameras 26A and 26B may be moved by therobots 24A and 24B.

Such an embodiment is illustrated in FIG. 18. In an object inspectiondevice 20A′ illustrated in FIG. 18, the camera 26A is fixed to the wrist36 of the robot 24A. On the other hand, the index object 50A and theobject 60 are fixed to a holder 80 and disposed at a predeterminedposition in the robot coordinate system C_(RA) so as to be separate fromthe robot 24A. Information on the fixed position of the object 50A or 60in the robot coordinate system C_(RA) is pre-stored in the memory of thecontroller 22A.

The position of the camera coordinate system C_(CA) with respect to thehand-tip (TCP) of the robot 24A is known. Accordingly, the coordinatesin one of the camera coordinate system C_(CA) and the robot coordinatesystem C_(RA) when the hand-tip of the robot 24A is disposed at anyposition can be transformed into the coordinates in the other of thecamera coordinate system C_(CA) and the robot coordinate system C_(RA),via the transformation matrix (e.g., a Jacobian matrix).

Similarly, in an object inspection device 20B′, the camera 26B is fixedto the wrist 36 of the robot 24B, while the index object 50B and theobject 60 are fixed to the holder 80, and the information on the fixedposition of the object 50B or 60 in the robot coordinate system Cm ispre-stored in the memory of the controller 22B.

Furthermore, since the position of the camera coordinate system C_(CB)with respect to the hand-tip (TCP) of the robot 24B is known, thecoordinates in one of the camera coordinate system C_(CB) and the robotcoordinate system C_(RB) when the hand-tip of the robot 24B is disposedat any position can be transformed into the coordinates in the other ofthe camera coordinate system C_(CB) and the robot coordinate systemC_(RB), via the transformation matrix (e.g., a Jacobian matrix).

When carrying out the flows in FIG. 5 and FIG. 6 in the objectinspection device 20A′, in the above-described steps S1 and S11, thecontroller 22A operates the robot 24A so as to move the camera 26A withrespect to the object 50A or 60. Moreover, when carrying out the flowsin FIG. 7 to FIG. 10 in the object inspection device 20B′, in theabove-described steps S22, S31, S42, and S52, the controller 22Boperates the robot 24B so as to move the camera 26B with respect to theobject 50A or 60. The object inspection devices 20A′ and 20B′ can sharethe inspection parameter and the captured image data by carrying out theflows depicted in FIG. 5 to FIG. 10.

While the present disclosure has been described through specificembodiments, the above-described embodiments do not limit the inventionas defined by the appended claims.

The invention claimed is:
 1. An object inspection device for inspectinga surface of an object using image data of the object, the objectinspection device comprising: a camera configured to acquire the imagedata; a robot configured to relatively position the object and thecamera at an inspection position where the surface is to be inspected;an index object configured to be gripped by the robot at a predeterminedgripping position and moved with respect to the camera by the robot tobe imaged by the camera, the index object including an index configuredfor representing a position of the index with respect to the camera inan image coordinate system of the camera; and a controller configured tocontrol the camera and the robot, the controller being configured to:acquire, as coordinate data of an index reference point, imaged data ofanother index object in another image coordinate system of anothercamera, the imaged data of the other index object being imaged by theother camera having the other image coordinate system when another robotgrips the index object at another predetermined gripping position at afirst relative position; control the robot so as to position the indexobject and the camera at a second relative position, the position of theanother index with respect to the another robot when the another robotgrips the another index object at the another predetermined grippingposition being the same as that of the index with respect to the robotwhen the robot grips the index object at the gripping position; causethe camera to image the index on the index object positioned at thesecond relative position to acquire imaged data of the index in theimage coordinate system; based on the imaged data of the index and thecoordinate data of the index reference point, hold the robot at aposition where the index is disposed at the index reference point in theimage coordinate system; and adjust the inspection position using theposition of the robot when the index is disposed at the index referencepoint.
 2. The object inspection device of claim 1, wherein thecontroller is configured to: preliminarily position the index objectwith respect to the camera at the inspection position as the secondrelative position; and cause the camera to image the index preliminarilypositioned at the inspection position to acquire the imaged data of theindex.
 3. The object inspection device of claim 1, wherein thecontroller is configured to determine whether the index is disposed atthe index reference point in the image coordinate system.
 4. The objectinspection device of claim 3, wherein the controller is configured to,when the controller determines that the index is not disposed at theindex reference point in the image coordinate system, repeatedly carryout changing the relative position of the index object and the cameraand acquiring imaged data of the index after changing the relativeposition, until the controller determines that the index is disposed atthe index reference point.
 5. The object inspection device of claim 3,wherein the controller is configured to compare an amount of deviationbetween the imaged data of the index and the coordinate data with apredetermined threshold, and determine that the index is disposed at theindex reference point when the amount of deviation is smaller than thethreshold.
 6. An object inspection system comprising a plurality ofobject inspection devices each configured to inspect a surface of anobject using image data of the object, wherein a first object inspectiondevice includes: a first camera configured to acquire the image data; afirst robot configured to relatively position the object and the firstcamera at a first inspection position where the surface is to beinspected; a first index object configured to be gripped by the firstrobot at a predetermined first gripping position and moved with respectto the first camera by the first robot to be imaged by the first camera,the first index object including a first index configured forrepresenting a position of the first index with respect to the firstcamera in a first image coordinate system of the first camera; and afirst controller configured to control the first camera and the firstrobot, the first controller being configured to: control the first robotso as to position the first index object and the first camera at a firstrelative position; and cause the first camera to image the first indexon the first index object positioned at the first relative position toacquire imaged data of the first index in the first image coordinatesystem, and store the imaged data as coordinate data of an indexreference point, wherein a second object inspection device includes: asecond camera configured to acquire the image data; a second robotconfigured to relatively position the object and the second camera at asecond inspection position where the surface is to be inspected, thesecond inspection position corresponding to the first inspectionposition; a second index object configured to be gripped by the secondrobot at a predetermined second gripping position and moved with respectto the second camera by the second robot to be imaged by the secondcamera, the second index object including a second index configured forrepresenting a position of the second index with respect to the secondcamera in a second image coordinate system of the second camera, thesecond image coordinate system corresponding to the first imagecoordinate system, the position of the second index with respect to thesecond robot when the second robot grips the second index object at thesecond gripping position being the same as that of the first index withrespect to the first robot when the first robot grips the first indexobject at the first gripping position; and a second controllerconfigured to control the second camera and the second robot, the secondcontroller being configured to: control the second robot so as toposition the second index object and the second camera at a secondrelative position corresponding to the first relative position; causethe second camera to image the second index on the second index objectpositioned at the second relative position to acquire imaged data of thesecond index in the second image coordinate system; based on the imageddata of the second index and the coordinate data of the index referencepoint stored in the first controller, hold the second robot at aposition where the second index is disposed at the index reference pointin the second image coordinate system; and adjust the second inspectionposition using the position of the second robot when the second index isdisposed at the index reference point.
 7. The object inspection systemof claim 6, wherein the first controller is configured to cause thefirst camera to image the first index object at the first inspectionposition to acquire imaged data of the object in the first imagecoordinate system, and acquire and store an inspection parameter set asvarious conditions for the inspection carried out based on the imageddata of the first index object, wherein the second controller isconfigured to obtain the inspection parameter from the first controller.8. The object inspection system of claim 7, wherein the secondcontroller is configured to: preliminarily position the second indexobject with respect to the second camera at the second inspectionposition as the second relative position; and cause the second camera toimage the second index object preliminarily positioned at the secondinspection position to acquire the imaged data of the second index. 9.An object inspection system comprising a plurality of object inspectiondevices each configured to inspect a surface of an object using imagedata of the object, wherein a first object inspection device includes: afirst camera configured to acquire the image data; a first robotconfigured to relatively position the object and the first camera at afirst inspection position where the surface is to be inspected; a firstindex configured to be positioned with respect to the first camera bythe first robot and imaged by the first camera, the first index beingconfigured for representing a position of the first index with respectto the first camera in a first image coordinate system of the firstcamera; and a first controller configured to control the first cameraand the first robot, the first controller being configured to: controlthe first robot so as to position the first index and the first cameraat a first relative position; and cause the first camera to image thefirst index positioned at the first relative position to acquire imageddata of the first index in the first image coordinate system, and storethe imaged data as coordinate data of an index reference point, whereina second object inspection device includes: a second camera configuredto acquire the image data; a second robot configured to relativelyposition the object and the second camera at a second inspectionposition where the surface is to be inspected, the second inspectionposition corresponding to the first inspection position; second indexconfigured to be positioned with respect to the second camera by thesecond robot and imaged by the second camera, the second index beingconfigured for representing a position of the second index with respectto the second camera in a second image coordinate system of the secondcamera, the second image coordinate system corresponding to the firstimage coordinate system; and a second controller configured to controlthe second camera and the second robot, the second controller beingconfigured to: control the second robot so as to position the secondindex and the second camera at a second relative position correspondingto the first relative position; cause the second camera to image thesecond index positioned at the second relative position to acquireimaged data of the second index in the second image coordinate system;based on the imaged data of the second index and the coordinate data ofthe index reference point stored in the first controller, hold thesecond robot at a position where the second index is disposed at theindex reference point in the second image coordinate system; and adjustthe second inspection position using the position of the second robotwhen the second index is disposed at the index reference point, whereinthe first controller is configured to cause the first camera to imagethe object at the first inspection position to acquire imaged data ofthe object in the first image coordinate system, and acquire and storean inspection parameter set as various conditions for the inspectioncarried out based on the imaged data of the object, wherein the secondcontroller is configured to obtain the inspection parameter from thefirst controller, wherein the second controller is configured to causethe second camera to image the object at the second inspection positionto acquire imaged data of the object in the second image coordinatesystem, and acquire and store a new inspection parameter reset byadjusting the inspection parameter based on the imaged data of theobject imaged by the second camera, and wherein the first controller isconfigured to obtain the new inspection parameter from the secondcontroller to update the inspection parameter.
 10. A method of adjustingan inspection position, where a surface of an object is to be inspected,in an object inspection device for inspecting the surface using imagedata of the object, wherein the object inspection device comprises: acamera configured to acquire the image data; a robot configured torelatively position the object and the camera at an inspection positionwhere the surface is to be inspected; and an index object configured tobe gripped by the robot at a predetermined gripping position and movedwith respect to the camera by the robot be imaged by the camera, theindex object including an index configured for representing a positionor the index with respect to the camera in an image coordinate system ofthe camera, wherein the method comprises: acquiring, as coordinate dataof an index reference point, imaged data of another index object inanother image coordinate system of another camera, the imaged data ofthe other index object being imaged by the other camera having the otherimage coordinate system when another robot grips the index object atanother predetermined gripping position at a first relative position;controlling the robot to position the index object and the camera at asecond relative position, the position of the another index with respectto the another robot when the another robot grips the another indexobject at the another predetermined gripping position being the same asthat of the index with respect to the robot when the robot grips theindex object at the gripping position; causing the camera to image theindex on the index object positioned at the second relative position toacquire imaged data of the index in the image coordinate system; basedon the imaged data of the index and the coordinate data of the indexreference point, holding the robot at a position where the index isdisposed at the index reference point in the mage coordinate system; andadjusting the inspection position using the position of the robot whenthe index is disposed at the index reference point.
 11. A method ofadjusting an inspection position, where a surface of an object is to beinspected, in an object inspection system comprising a plurality ofobject inspection devices each configured to inspect the surface usingimage data of the object, wherein a first object inspection deviceincludes: a first camera configured to acquire the image data; a firstrobot configured to relatively position the object and the first cameraat a first inspection position where the surface is to be inspected; anda first index object configured to be gripped by the first robot at apredetermined first gripping position and moved with respect to thefirst camera by the first robot to be imaged by the first camera, thefirst index object including a first index configured for representing aposition of the first index with respect to the first camera in a firstimage coordinate system of the first camera, wherein a second objectinspection device includes: a second camera configured to acquire asecond robot configured to the image data; a second robot configured torelatively position the object and the second camera at a secondinspection position where the surface is to be inspected, the secondinspection position corresponding to the first inspection position; anda second index object configured to be gripped by the second robot at apredetermined second gripping position and moved with respect to thesecond camera by the second robot to be imaged by the second camera, thesecond index object including a second index being configured forrepresenting a position of the second index with respect to the secondcamera in a second image coordinate system of the second camera, thesecond image coordinate system corresponding to the first imagecoordinate system, the position of the second index with respect to thesecond robot when the second robot grips the second index object at thesecond gripping position being the same as that of the first index withrespect to the first robot when the first robot grips the first indexobject at the first gripping position, wherein the method comprises:controlling the first robot so as to position the first index object andthe first camera at a first relative position; causing the first camerato image the first index object positioned at the first relativeposition to acquire imaged data of the first index in the first imagecoordinate system, and store the imaged data as coordinate data of anindex reference point; controlling the second robot so as to positionthe second index object and the second camera at a second relativeposition corresponding to the first relative position; causing thesecond camera to image the second index object positioned at the secondrelative position to acquire imaged data of the second index in thesecond image coordinate system; based on the imaged data of the secondindex and the stored coordinate data of the index reference point,holding the second robot at a position where the second index isdisposed at the index reference point in the second image coordinatesystem; and adjusting the second inspection position using the positionof the second robot when the second index is disposed at the indexreference point.